(load "complex-polar")
(load "complex-rectangular")
(load "ortho")
(load "complex")
(load "complex-polar-conduit")
(load "complex-rectangular-conduit")

(defpackage :complex-test
  (:use :cl :ortho-complex))

(in-package :complex-test)

;; The mult and add functions are defined for polar and
;; rectangular complex numbers, respectively. These both
;; use a different representation, but both are converted
;; neatly to the base type, the CL complex number type.

(* #C(2 3)
   #C(4 5))				; => #C(-7 22)

;; The conversion between rectangular and polar representations
;; is not perfect, since it involves trigonometric functions
;; that return floats.
(mult #C(2 3)
      #C(4 5))

(+ #C(2 3)
   #C(4 5))				; => #C(6 8)

(add #C(2 3)
     #C(4 5))